Like Firo said Regex can do that for you, I've put one together for you
(?=^.{8})(?=.*[a-z])(?=.*[A-Z])(?=.*[^\w\d])(?=.*\d).*$
You can find plenty more if you Google for it.
There is however more to a strong password than the 4 points you posted.
1) Length (included in the regex a I gave you; min. length 8)
2) Sequential letters/digits (e.g. abc, 12345) this makes the password less strong
3) Case insensitive repeated characters (e.g. XxXXxx) this makes the password less strong
4) The list here goes on, with what makes a password more or less strong. I wont type it all out here though as I believe you have the info you want.